#ifndef __MC_TYPE_H_
#define __MC_TYPE_H_

#ifdef __cplusplus
extern "C"{
#endif

#include "dpm32m0xx_libopt.h"
#include "basic.h"

#define Pi      3.14159265359
#define Eul     2.71828182846
#define Sqrt2   1.41421356237
#define Sqrt3   1.73205080757

typedef struct{
    s16 hSin;
    s16 hCos;
} SinCos_t, *pSinCos_t;

typedef struct{
    s16 hArc;
    s16 hMod;
} ArcMod_t, *pArcMod_t;

typedef struct{
    SinCos_t SinCos;
    ArcMod_t ArcMod;
    s16 hTheta;
}Cordic_t, *pCordic_t;

typedef struct{
    s16 hNum;
    s16 hDen;
} NumDen_t, *pNumDen_t;

typedef struct{
    s16 hQuo;
    s16 hRem;
} QuoRem_t, *pQuoRem_t;

typedef struct{
    NumDen_t NumDen;
    QuoRem_t QuoRem;
}Div_t, *pDiv_t;

typedef struct{
    s16 hD;
    s16 hQ;
}DQ_t, *pDQ_t;

typedef struct{
    s16 hA;
    s16 hB;
    s16 hC;
}ABC_t, *pABC_t;

typedef struct{
    s16 hAlpha;
    s16 hBeta;
}AlBe_t, *pAlBe_t;

typedef struct{
    s32 dAlpha;
    s32 dBeta;
}AlBe32_t, *pAlBe32_t;

typedef struct{
    s16 hInt;
    s16 hDec;
} IntDec_t, *pIntDec_t;


#ifdef __cplusplus
}
#endif

#endif

